2a6f84b85237b25d0671354360022d532324969a,classify/src/main/java/com/anarchy/classify/simple/PrimitiveSimpleAdapter.java,SimpleMainAdapter,onLeaveSubRegion,#number#SimpleSubAdapter#,293
Before Change
@Override
public int onLeaveSubRegion(int selectedPosition, SimpleSubAdapter simpleSubAdapter) {
int parentTargetPosition = PrimitiveSimpleAdapter.this.onLeaveSubRegion(simpleSubAdapter.getData(),selectedPosition);
if(simpleSubAdapter.getItemCount()==1){
if (simpleSubAdapter.getParentPosition() != -1) notifyItemRemoved(simpleSubAdapter.getParentPosition());
}else{
if (simpleSubAdapter.getParentPosition() != -1) notifyItemChanged(simpleSubAdapter.getParentPosition());}
After Change
if(mSimpleHook != null){
return mSimpleHook.onLeaveSubRegion(this,simpleSubAdapter.getParentPosition(),simpleSubAdapter.getData(),selectedPosition);
}
int originSize = simpleSubAdapter.getItemCount();//副层级数��动之�的大�
int parentTargetPosition = PrimitiveSimpleAdapter.this.onLeaveSubRegion(simpleSubAdapter.getParentPosition(), simpleSubAdapter.getData(), selectedPosition);
if (simpleSubAdapter.getParentPosition() != -1) {
if (parentTargetPosition >= 0 && parentTargetPosition < getItemCount())
notifyItemInserted(parentTargetPosition);
int offset = parentTargetPosition <= simpleSubAdapter.getParentPosition()?1:0;
int newParentPosition = simpleSubAdapter.getParentPosition() + offset;
if(originSize <= 1){
notifyItemRemoved(newParentPosition);
}else {
notifyItemChanged(newParentPosition);